VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "CHXMHSym"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SP3DEqpUSSClassType" ,"SYM"
Attribute VB_Ext_KEY = "SP3DV6UpgradeSO" ,"Upgraded by Eqp SO Upgrade Wizard at 11/29/2004-5:11:11 AM"
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'
'   Copyright (c) 2005, Intergraph Corporation. All rights reserved.
'
'   CHExMitHead.cls
'   ProgID:         SP3DHeatXMiterHeadAsm.CHXMHSym
'   Author:         A. Chandra Mouli
'   Creation Date:  Friday, May 16, 2003
'
'   This is an Exchanger Miter Head Symbol.
'   This symbol is a Fully parametic symbol, consists of 23 inputs and 9 outputs.It has 2 aspects one is Simple Physical
'   another is ReferenceGeometry. 7 are physical and 2 is ReferenceGeometry.
'   This is a Dow Equipment E-161 exchanger Miter Head symbol
'
'   Change History:
'   dd.mmm.yyyy     who                     change description
'   -----------     ---                     ------------------
'   09.Jul.2003     SymbolTeam(India)       Copyright Information, Header  is added/Updated.
'   23.Aug.2003     SymbolTeam(India)       Updated Error Handling Code
'   29.Nov.2004     V6UpgradeSO             Made compatible with Smart Occurrence based Equipments
'   20.May.2005    Mallepally Srinivas  CR-76070: Modified the nozzle creation code(as members),added datum points.
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Option Explicit

Private Const MODULE = "CHXMHSym:"  'Used for error messages

Private m_oSymbolHelper As IJSymbolHelper
    
' Declaration of the User Symbol Services interface
Implements IJDUserSymbolServices


Private Sub Class_Initialize()
    
    Const METHOD = "Class_Initialize:"
    On Error GoTo ErrorHandler
    
    Set m_oSymbolHelper = New SymbolServices
    m_oSymbolHelper.ProjectName = "SP3DHeatXMiterHeadAsm"
    m_oSymbolHelper.ClassName = "CHXMHSym"
    
'' Inputs
    m_oSymbolHelper.NumInputs = 4
    m_oSymbolHelper.AddInputDef 1, "VesselDiameter", "Exchanger Outer Diameter", 1.4986
    m_oSymbolHelper.AddInputDef 2, "FaceDiameter", "Flange Diameter", 0.9398
    m_oSymbolHelper.AddInputDef 3, "FaceThickness", "Flange Thickness", 0.0508
    m_oSymbolHelper.AddInputDef 4, "CPtoFace", "Control point to Miter flange", 8.833
    
' Outputs
    m_oSymbolHelper.NumOutputs = 8
    m_oSymbolHelper.AddOutputDef 1, "MiterFlange", "Flange on Miter", SimplePhysical
    m_oSymbolHelper.AddOutputDef 2, "MiterBottom15degBody", "Rear Head Miter Bottom 15 degree portion", SimplePhysical
    m_oSymbolHelper.AddOutputDef 3, "MiterBottom30degBody", "Rear Head Miter Bottom 30 degree portion", SimplePhysical
    m_oSymbolHelper.AddOutputDef 4, "MiterTop30degBody", "Rear Head Miter Top 30 degree portion", SimplePhysical
    m_oSymbolHelper.AddOutputDef 5, "MiterTop15degBody", "Rear Head Miter Top 15 degree portion", SimplePhysical
    m_oSymbolHelper.AddOutputDef 6, "MiterTopCyl", "Rear Head Miter Top Cylinder portion", SimplePhysical
    m_oSymbolHelper.AddOutputDef 7, "DefaultSurface", "Reference Surface at the CP of vessel", ReferenceGeometry
    m_oSymbolHelper.AddOutputDef 8, "VesselAxisPoint", "Reference Point on axis of vessel at Coontrol Point", ReferenceGeometry
' Aspects
    m_oSymbolHelper.NumAspects = 2
    m_oSymbolHelper.AddAspectDef 1, "SimplePhysical", "Physical", SimplePhysical
    m_oSymbolHelper.AddAspectDef 2, "RefGeometry", "ReferenceGeometry", ReferenceGeometry
    
    Exit Sub
    
ErrorHandler:
Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext

End Sub

Private Sub Class_Terminate()
    Set m_oSymbolHelper = Nothing
End Sub

' note that the rest of the code is generated by the Symbol Wizard and should not need to be modified
Public Function IJDUserSymbolServices_InstanciateDefinition( _
                ByVal CodeBase As String, _
                ByVal defParameters As Variant, _
                ByVal ActiveConnection As Object) As Object
    ' call symbol services default implementation of this method
    Const METHOD = "IJDUserSymbolServices_InstanciateDefinition:"
On Error GoTo Errx
    Set IJDUserSymbolServices_InstanciateDefinition = m_oSymbolHelper.InstanciateDefinition(CodeBase, defParameters, ActiveConnection)
    
    Exit Function

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext
End Function
Public Function IJDUserSymbolServices_GetDefinitionName(ByVal definitionParameters As Variant) As String
Const METHOD = "IJDUserSymbolServices_GetDefinitionName:"
  On Error GoTo Errx
      IJDUserSymbolServices_GetDefinitionName = m_oSymbolHelper.ProjectName + "." + m_oSymbolHelper.ClassName
    
    Exit Function

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext
End Function

Public Sub IJDUserSymbolServices_InitializeSymbolDefinition(ByRef pSymbolDefinition As IJDSymbolDefinition)
Const METHOD = "IJDUserSymbolServices_InitializeSymbolDefinition:"
On Error GoTo Errx
    m_oSymbolHelper.InitializeSymbolDefinition pSymbolDefinition
Exit Sub

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext
      
End Sub

Public Sub IJDUserSymbolServices_InvokeRepresentation(ByVal sblOcc As Object, _
                    ByVal repName As String, _
                    ByVal outputcoll As Object, _
                    ByRef arrayOfInputs())
Const METHOD = "IJDUserSymbolServices_InvokeRepresentation:"
On Error GoTo Errx
    m_oSymbolHelper.InvokeRepresentation sblOcc, repName, outputcoll, arrayOfInputs
        
Exit Sub

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
            Err.HelpFile, Err.HelpContext
End Sub

Public Function IJDUserSymbolServices_EditOccurence(ByRef pSymbolOccurence As Object, ByVal transactionMgr As Object) As Boolean
Const METHOD = "IJDUserSymbolServices_EditOccurence:"
On Error GoTo Errx
    ' The definition uses the generic EditOccurrence command
    IJDUserSymbolServices_EditOccurence = False
        Exit Function

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
            Err.HelpFile, Err.HelpContext

End Function




